/**
    *
    *将任务交由do_backcheck处理
    *
*/
void startcheck(char s[])/*将新出现的文件传递个下个检测程序*/
{
    char donetaskpath[100];
    char checktaskpath[100];
    NowStartNum+=1;   //当前测试的代码数加1;     
    pthread_t id;//用于创建线程
    int err;          //用于存放创建线程情况0为创建失败
    FILE *fp;
    int i; 
          
    strcpy(donetaskpath,path);//找到完成命令路径
    strcat(donetaskpath,DONETASK);
    strcat(donetaskpath,s);    
   
    strcpy(checktaskpath,path);//找到位完成命令
    strcat(checktaskpath,CHECKTASK);
    strcat(checktaskpath,s);    
    
    rename(checktaskpath,donetaskpath);/*从checktask移动文件到donetask*/
    
    pthread_attr_t a; //线程属性
    pthread_attr_init(&a);  //初始化线程属性
    pthread_attr_setdetachstate(&a, PTHREAD_CREATE_DETACHED);//线程属性线程结束时，由系统释放线程资源,设置线程属性为detach
    err = pthread_create(&id,&a,threads,(void*)donetaskpath);//创建线程执行threads,属性为detached终止自动释放资源    
    pthread_detach(id);//线程脱离主线程，结束后自动释放资源
    if(err != 0){
    printf("{'ms':'can't create thread: %s'}",strerror(err));// 如果创建失败返回
    return;  
    }   
     
 
}
